package tech.aistar.service;

import tech.aistar.entity.Com;
import tech.aistar.entity.Post;
import tech.aistar.entity.UserInfo;

import java.sql.Timestamp;
import java.util.List;

public interface IUserInfoService {
    //根据用户主键id查询用户详细信息
    UserInfo findById(Integer Id);

    //根据账号查询信息
    UserInfo findByUid(String uId);

    //修改用户基本信息
    void editUserInfo(String uName,Timestamp uBirthday,Integer uSex,String Province,String City,String District,String uStatement,
                     String picfilename,Integer id);

    //绑定/解绑邮箱
    void addEmail(String uEmail, Integer id);

    //绑定手机
    void addPhone(String uPhone, Integer id);

    //清空访问量
    void delView(Integer id);

    //添加个人信息(和注册放到一起,注册的时候触发这个个人信息的添加)
    void addUserInfo(Integer id, String uId, String uName);

    //增加/减少帖子数
    void calPost(Integer id, Integer postNum);

    //增加/减少粉丝数
    void calFans(Integer id, Integer fansNum);

    //增加/减少关注数
    void calFouc(Integer id, Integer foucNum);

    //增加/减少收藏数
    void calLike(Integer id, Integer likeNum);

    //增加/减少点赞数
    void calMyzan(Integer id, Integer myzanNum);

    //增加/减少评论数
    void calComment(Integer id, Integer commentNum);

    //    有待考量
    //增加访问量
    void addView(Integer id, Integer viewNum);

    //手机集合
    List<String> findPhones();

    //邮箱集合
    List<String> findEmail();

    //redis
    List<UserInfo> findAll();
    UserInfo getinfo(Integer id);

    List<Post> findPostAll();
    //UserInfo getinfo(Integer id);

    //根据评论者查询所有
    List<Com> findAllByUserId(Integer userId);

    List<Post> findByThemeId(Integer ThemeId);

    void updatePost(Integer pointNum,Integer postId);
}
